package nmf;

public class test {
   
   //    public static void main(String args[]) {
   //        Double d0 = new Double(5);
   //        Double d3 = new Double(2);
   //        long[] size = {d0.longValue(), d3.longValue()};
   //        long[] size2 = {d3.longValue(), d0.longValue()};
   //        M = new DefaultSparseDoubleMatrix(1, size);
   //        Double d1 = new Double(2);
   //        Double d2 = new Double(2);
   //        long[] coords1 = {d1.longValue(), d2.longValue()};
   //        M.setDouble(5.0, coords1);
   //        
   //        N = new DefaultSparseDoubleMatrix(1, size2);
   //        N.setDouble(5.0, coords1);
   //        
   ////        Double d3 = new Double(9);
   ////        Double d4 = new Double(9);
   ////        long[] coords2 = {d3.longValue(), d4.longValue()};
   ////        M.setDouble(2.0, coords2);
   //        
   //        DefaultSparseDoubleMatrix A = new DefaultSparseDoubleMatrix(M.times(N));
   //        Matrix B = M.times(N).toDoubleMatrix();
   //        
   //        System.out.println("M matrix: \n" + M.toString());
   //        System.out.println("N matrix: \n" + N.toString());
   //        System.out.println("A matrix: \n" + A.toString());
   //        System.out.println("B matrix: \n" + B.toString());
   //    }
   
   public static void main(final String args[]) throws Exception {
      final SparseMatrix A = new SparseMatrix(2, 2);
      A.set_element(1, 1, 3.0);
      A.set_element(0, 1, 5.0);
      final SparseMatrix B = new SparseMatrix(2, 5);
      B.set_element(0, 0, 2.0);
      B.set_element(0, 2, 7.5);
      B.set_element(1, 4, 2.3);
      System.out.println(A.toString());
      System.out.println(A.m_times(B));
      
      //        SparseMatrix C = A.m_times(A.transpose());
      //        System.out.println(C.toString());
      //        
      //        SparseMatrix D = A.times(B);
      //        System.out.println(D.toString());
      //        
      //        SparseMatrix E = A.divide(A.transpose());
      //        System.out.println(E.toString());
      //        
      //        SparseMatrix G = A.minus(B);
      //        System.out.println(G.toString());
      //        
      //        SparseMatrix H = new SparseMatrix(5, 5);
      //        H.randomize();
      //        System.out.println(H.toString());
      //        
      final SparseMatrix I = NMFAlgorithm.factor(A.m_times(B));
      System.out.println(I.toString());
   }
}
